package net.lb.socketserver.bus;

import java.util.List;
import net.lb.socketserver.handler.MessageHandler;
import net.lb.socketserver.interceptor.MessageInterceptor;

/**
 * 请求信息处理中心
 * 
 * @author 林斌
 * 
 */
public interface MessageHandlerCenter extends Runnable
{
    /**
     * 将消息传递给处理中心
     * 
     * @param message
     */
    public void offerMessage(Message message);
    
    /**
     * 停止处理中心
     */
    public void stop();
    
    /**
     * 初始化处理中心
     */
    public void init();
    
    /**
     * 获取所有的消息处理器
     * 
     * @return
     */
    public List<MessageHandler> getHandlerList();
    
    public List<MessageInterceptor> getInterceptorList();
    
    public byte[] getCommand();
}
